home *** CD-ROM | disk | FTP | other *** search
- ; DDLC (Dual DDLC MC145488 - max 4 sync channels) interrupt hooks
-
- include asmglobal.h
- extrn doret:proc,ddlcint:far,eoi:proc
-
- .DATA
- extrn Sssave:word
- extrn Spsave:word
- extrn Stktop
-
- .CODE
- dbase dw @Data ; save loc for ds (must be in code segment)
-
- ; ddlc0vec - high speed sync board #0 interrupt handler
- public ddlc0vec
- label ddlc0vec far
- push ds ; save on user stack
- mov ds,cs:dbase ; establish interrupt data segment
-
- mov Sssave,ss ; stash user stack context
- mov Spsave,sp
-
- mov ss,cs:dbase
- lea sp,Stktop
-
- PUSHALL
- push es
- call eoi
-
- mov ax,0 ; arg for service routine
- push ax
- call ddlcint
- inc sp
- inc sp
- jmp doret
-
- ; ddlc1vec - high speed sync board #1 interrupt handler
- public ddlc1vec
- label ddlc1vec far
- push ds ; save on user stack
- mov ds,cs:dbase ; establish interrupt data segment
-
- mov Sssave,ss ; stash user stack context
- mov Spsave,sp
-
- mov ss,cs:dbase
- lea sp,Stktop
-
- PUSHALL
- push es
- call eoi
-
- mov ax,1 ; arg for service routine
- push ax
- call ddlcint
- inc sp
- inc sp
- jmp doret
-
- end
-